Anybody who keeps their own CSS nodes around or wants to order CSS nodes
different from widgets will from now on have to do it manually all the
time.
This is outdated behavior, nobody should be doing either of those two
things.
Also, the correct case is much more common, and not doing it
automatically was causing bugs.
Fixes #3280
column, position);
priv->n_columns++;
- gtk_tree_view_update_button_position (tree_view, column);
-
_gtk_tree_view_column_set_tree_view (column, tree_view);
+ /* XXX: We need to reparent the node into the header, somebody make that a real widget */
+ gtk_css_node_set_parent (gtk_widget_get_css_node (gtk_tree_view_column_get_button (column)), NULL);
+ gtk_tree_view_update_button_position (tree_view, column);
+
if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
{
GList *list;
priv->tree_view = GTK_WIDGET (tree_view);
- gtk_widget_set_parent (priv->button, GTK_WIDGET (tree_view));
+ /* avoid a warning with our messed up CSS nodes */
+ gtk_widget_insert_after (priv->button, GTK_WIDGET (tree_view), NULL);
priv->property_changed_signal =
g_signal_connect_swapped (tree_view,
data.flags_to_unset = 0;
gtk_widget_propagate_state (widget, &data);
- if (gtk_css_node_get_parent (priv->cssnode) == NULL)
- {
- gtk_css_node_insert_after (parent->priv->cssnode,
- priv->cssnode,
- previous_sibling ? previous_sibling->priv->cssnode : NULL);
- }
+ gtk_css_node_insert_after (parent->priv->cssnode,
+ priv->cssnode,
+ previous_sibling ? previous_sibling->priv->cssnode : NULL);
_gtk_widget_update_parent_muxer (widget);